package com.grt.condify.utils;

import com.grt.condify.common.constant.CommonConstants;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class StringUtil {

    /**
     * 判断前值是否为空，为空时返回空字符串，否则返回前值<BR>
     *
     * @param string 前值
     * @return 相关结果
     * @author 作者: chu.chuanbao E-mail: chu.chuanbao@trs.com.cn
     * 创建时间：2021/4/13 20:07
     */
    public static String showEmpty(String string) {
        return showEmpty(string, "");
    }

    /**
     * 判断前值是否为空，为空时返回默认值，否则返回前值<BR>
     *
     * @param string     前值
     * @param defaultVal 默认值
     * @return 相关结果
     * @author 作者: chu.chuanbao E-mail: chu.chuanbao@trs.com.cn
     * 创建时间：2021/4/13 20:07
     */
    public static String showEmpty(String string, String defaultVal) {
        return isEmpty(string) ? defaultVal : string;
    }

    /**
     * 判断{@code string} 是否为空，包括空格等空串的判断
     *
     * @param string
     * @return null或者空值返回true
     */
    public static boolean isEmpty(String string) {
        return string == null || string.trim().length() == 0;
    }

    /**
     * 将字符串转换成list:支持格式为：1,2,3,4
     *
     * @param source    源字符串
     * @param separator 分割符
     * @return list
     */
    public static List<?> getList(String source, String separator) {
        if (isEmpty(source)) {
            return new ArrayList<>();
        }

        if (isEmpty(separator)) {
            separator = CommonConstants.SEPARATOR_COMMA;
        }

        String[] arr = source.split(separator);

        return Arrays.asList(arr);
    }
}
